Crate glutin

source ·
Expand description

The purpose of this library is to provide an OpenGL Context on as many platforms as possible.

Building a WindowedContext<T>

A WindowedContext<T> is composed of a Window and an OpenGL Context.

Due to some operating-system-specific quirks, glutin prefers control over the order of creation of the Context and Window. Here is an example of building a WindowedContext<T>:

let el = glutin::event_loop::EventLoop::new();
let wb = glutin::window::WindowBuilder::new()
    .with_title("Hello world!")
    .with_inner_size(glutin::dpi::LogicalSize::new(1024.0, 768.0));
let windowed_context = glutin::ContextBuilder::new()
    .build_windowed(wb, &el)
    .unwrap();

You can, of course, create a RawContext<T> separately from an existing window, however that may result in an suboptimal configuration of the window on some platforms. In that case use the unsafe platform-specific RawContextExt available on unix operating systems and Windows.

You can also produce headless Contexts via the ContextBuilder::build_headless() function.

Modules

  • UI scaling is important, so read the docs for this module if you don’t want to be confused.
  • The Event enum and assorted supporting types.
  • The EventLoop struct and assorted supporting types, including ControlFlow.
  • Types useful for interacting with a user’s monitors.
  • Contains traits with platform-specific methods in them.
  • The Window struct and associated types.

Structs

Enums

  • All APIs related to OpenGL that you can possibly get while using glutin.
  • Error that can happen when manipulating an OpenGL Context.
  • Error that can happen while creating a window or a headless renderer.
  • Describes the requested OpenGL Context profiles.
  • Describes the OpenGL API and version that are being requested when a context is created.
  • A type that Contexts which are not currently current on any thread take as a generic.
  • The behavior of the driver when you change the current context.
  • Specifies the tolerance of the OpenGL Context to faults. If you accept raw OpenGL commands and/or raw shader code from an untrusted source, you should definitely care about this.

Statics

  • The minimum core profile GL context. Useful for getting the minimum required GL version while still running on OSX, which often forbids the compatibility profile features.

Traits

Type Definitions